package com.evenmo.string;

import org.junit.Test;

/**
 * 面试题：不用第三方变量的情况下交换两个变
 */
public class ChangeVariable {
    /**
     * 不用第三方变量的情况下交换两个变量，算术运算
     */
    @Test
    public void test(){
        int a=1;
        int b=2;
        a=a+b;
        b=a-b;
        a=a-b;
        System.out.println(a);
        System.out.println(b);
    }

    /**
     * 异或运算测试
     */
    @Test
    public void test2(){
        int a=1;
        int b=2;
        a=a^b^b;
        System.out.println(a);//1
    }

    /**
     * 不借助第三方变量的情况下交换两个变量
     */
    @Test
    public void test3(){
        int a=1;
        int b=2;
        a=a^b;
        b=a^b;//b=a;
        a=a^b;//a=a^b^a;-->a=b;

        System.out.println(a);
        System.out.println(b);

    }


}
